from flask import Flask
from flask import request
from werkzeug.routing import BaseConverter

app = Flask(__name__,static_folder='static_file')

#创建转换器地类
class  UserVonverter(BaseConverter):

    regex = r'1[3-9]\d{9}'


#自定义转换器
app.url_map.converters['mobile'] =UserVonverter



@app.route('/phone/<mobile:mob_num>')

def feng(mob_num):

    print(mob_num)
    return 'mobile {}'.format(mob_num)


@app.route('/users/<int(min=1):user_id>')

def index(user_id):

    print(type(user_id))

    return 'hello user {}'.format(user_id)


#路径带有参数地查询，提取参数，规定参数地限定条件，

#------------自定义转换器－－－－－－－－－－－－－－－－
# 逻辑思维，１，首先创建自定义转换器类，regex以正则地方式将路径数据提取验证操作，
#         ２，自定义转换器app.url_map.converters['mobile] = 创建地转换器类
#         ３，app.route('/phone/<mobile:mob_num>') mob_num截取路径中地实际参数
#         ４，return 'phone {}'.format(mob_num)  -----return 'phone %s'%mob_num



# 路径参数提取验证地操作,直接提取地方法，第二种通过自定义转换器地方法完成提取验证和转换操作


# -------------------------------_______?
#查询集参数地路径解析和获取


@app.route('/fengliang')

def search():
    sku_id = request.args.get('sku_id')
    print(sku_id)
    return '宝贝，你的商品查询参数是 {}'.format(sku_id)

#       /fengliang?sku_id=3
#得到浏览器地址栏查询参数地获取


#-----------------图片信息地获取操作－－－－－－－－－－－－－－

@app.route('/image',methods=['POST'])


def Image():
    image_file = request.files.get('image')
    # image_file = request.files['image']

    # image_file.save('./static_file/feng')#注意指定图片地类型，否则图片在保存地时候无法正确地读取jpg,或者png
    image_file.save('./static_file/feng6.jpg')

    #with open('./static_filed/feng.jpg','wb') as f :   先指定储存地目录和和图片地命名
    # f.write(image_filed.read)
    return '宝贝图片保存成功'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000, debug=True)
#总结Ｆlask 上传图片地操作，读取图片的　imagte_file读取图片后地对象只是临时保存在服务器地缓存中，需要写入磁盘中做永久保存
# 调用save()d 方法完成对图片地保存操作，保存中指定保存地目录和图片地新名字地命名
